package cn.edu.ctgu.junitTest;

/**
 * @Title: Triangle.java
 * @Package cn.edu.ctgu.junitTest
 * @Description: 测试三角形是否为等边、等腰或者是不等边三角形，或不是三角形
 * @author 买买提沙答木·托呼吐尔
 * @version 1.0
 * @since 2023-03-08
 *
 */
/**
 * 三角形类，包含判断三角形类型的静态方法。
 */
public class Triangle {

    /**
     * 判断三角形类型。
     *
     * @param a 三角形第一条边的长度。
     * @param b 三角形第二条边的长度。
     * @param c 三角形第三条边的长度。
     * @return 三角形类型字符串，可以为 "equilateral"、"isosceles"、"scalene" 或 "invalid"。
     */
    public static String getType(double a, double b, double c) {
        // 如果任意一条边小于等于零，不是三角形。
        if (a <= 0 || b <= 0 || c <= 0) {
            return "invalid";
        }

        // 如果任意两条边之和小于第三条边，不是三角形。
        if (a + b <= c || a + c <= b || b + c <= a) {
            return "invalid";
        }

        // 判断三角形类型。
        if (a == b && b == c) {
            return "equilateral";
        } else if (a == b || b == c || a == c) {
            return "isosceles";
        } else {
            return "scalene";
        }
    }
}
